1506B - Partial Replacement - CodeForces Solution


greedy implementation *1100

Please click on ads to support us..

Python Code:

import sys
N = int (2e5 + 5)
sys.setrecursionlimit (N)

def charming () :
  n, k = map (int, input ().split ())
  s = input (); pos = list ();
  for i in range (len (s)) :
    if s[i] == '*' : pos.append (i)
  res = 0; last = pos[0]; i = 1
  if len (pos) <= 1 : print (1); return
  while True :
    j = i
    while j < len (pos) and pos[j] - last <= k : j += 1
    if j == len (pos) : break
    res += 1; i = j; last = pos[j - 1]
  print (res + 2)
    
for t in range (int (input ())) : charming ()

C++ Code:

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int t;
    cin>>t;
    for (;t --> 0;) {
        int n,k;
        cin>>n>>k;
        string s;
        cin>>s;
        int last=-10000,prev=-10000,ans=0;
        for (int i=0;i<n;i++) {
            if (s[i]=='*') {
                if (ans==0) {
                    last=prev=i;
                    ++ans;
                } else if (i-last>k) {
                    last=prev;
                    prev=i;
                    ++ans;
                } else
                    prev=i;
            }
        }
        if (last!=prev)
            ++ans;
        cout<<ans<<'\n';
    }
    return 0;
}
    


Comments

Submit
0 Comments
More Questions

1476E - Pattern Matching
1107A - Digits Sequence Dividing
1348A - Phoenix and Balance
1343B - Balanced Array
1186A - Vus the Cossack and a Contest
1494A - ABC String
1606A - AB Balance
1658C - Shinju and the Lost Permutation
1547C - Pair Programming
550A - Two Substrings
797B - Odd sum
1093A - Dice Rolling
1360B - Honest Coach
1399C - Boats Competition
1609C - Complex Market Analysis
1657E - Star MST
1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins
313A - Ilya and Bank Account
1469A - Regular Bracket Sequence
919C - Seat Arrangements
1634A - Reverse and Concatenate
1619C - Wrong Addition
1437A - Marketing Scheme
1473B - String LCM
1374A - Required Remainder
1265E - Beautiful Mirrors